//
//  HHPMediatorManager.h
//  HHPLiveVideo
//
//  Created by 韩红坡 on 2016/12/30.
//  Copyright © 2016年 韩红坡. All rights reserved.
//

/**
 @header HHPMediatorManager
 @abstract 组件化管理 组件调度中心 （开发者不要随意修改）
 */

#import <Foundation/Foundation.h>

@interface HHPMediatorManager : NSObject
/**
 *  组件化管理以单例的方式进行
 *
 *  @return instancetype
 */
+ (instancetype)sharedInstance;

/**
 *  url 调度接口
 *
 *  @param url        调用的url 支持特定格式的调用 HHPLiveVideo://Module/Action
 *  @param completion 完成时回调
 *
 *  @return id
 */
- (id)externalCallModuleWithUrl:(NSURL *)url
                     completion:(void(^)(NSDictionary *info))completion;

/**
 *  本地调用
 *
 *  @param targetName target名称
 *  @param actionName 调用的action
 *  @param params     传递的参数
 *
 *  @return id
 */
- (id)nativeCallModuleWithTarget:(NSString *)targetName
                          action:(NSString *)actionName
                          params:(NSDictionary *)params;

/**
 *  本地调用
 *
 *  @param targetName target名称
 *  @param actionName 调用的action
 *
 *  @return id
 */
- (id)nativeCallModuleWithTarget:(NSString *)targetName
                          action:(NSString *)actionName;

@end
